<template>
    <div class="person">
        <h1>中国</h1>
        <!-- <h2 id="title2">甘肃省</h2> -->
        <h2 ref="title2">甘肃省</h2>
        <h3>兰州市</h3>
        <button @click="showH2">点我输出 h2</button>
    </div>
</template>

<script setup lang="ts" name="Persona">
import {ref, defineExpose} from 'vue'
let title2 = ref()  // 存储 ref 标记的内容

let a = ref(1)
let b = ref(2)
let c = ref(3)


function showH2(){
    // 用 id 获取 dom 节点的方式极其不推荐
    // let h2 = document.getElementById('title2')
    console.log(title2.value)   // 通过在标签上设定 ref 属性，以及用 ref() 声明对应 ref 值的变量，就可以拿到 dom 元素
    // 并且这种方法可以避免像 id 那样和其他文件（本例子中是 App.vue）中相同值的元素冲突
}

defineExpose({a, b, c})

</script>

<style scoped>
.person {
    background-color: #afcfb7;
    border-radius: 10px;
    box-shadow: 0 0 10px;
    padding: 20px;
    margin: 10px 0;
}
button{
    margin-right: 5px;
}
hr{
    border-width: 3px;
    border-color: black;
    border-style: solid;
}
</style>
